package com.fau.cm.service;

import java.io.IOException;
import java.util.Map;

import org.apache.poi.ss.usermodel.Workbook;

import com.fau.cm.entity.MedicalAdmin;
import com.fau.cm.entity.MedicalCallRecording;
import com.fau.cm.util.Page;


/**
 * @desc  全部,中心,组长,我的,公开,录音查询接口
 * @author yangzj
 * @datetime 2014年10月15日,上午10:11:59
 */
public interface IRecordingService {
	
	/**
	 * @desc 批量设置录音公开
	 * @author liy
	 * @datetime 2014年12月11日,下午3:24:49
	 */
	public void updateRecordOpen(String ids);
	
	/**
	 * @desc 批量设置组录音公开
	 * @param ids 
	 * @author liy
	 * @datetime 2014年12月26日,上午2:32:21
	 */
	public void updateGroupRecordOpen(String ids);
	
	/**
	 * @desc 批量设置中心录音公开
	 * @param ids 批量操作的ID
	 * @author liy
	 * @datetime 2014年12月26日,上午2:06:43
	 */
	public void updateCenterRecordOpen(String ids);
	
	/**
	 * @desc 批量取消录音公开
	 * @param ids 批量操作的ID
	 * @author liy
	 * @datetime 2014年12月26日,上午1:54:56
	 */
	public void updateRecordCancel(String ids);
	
	/**
	 * @desc 批量取消中心录音公开
	 * @param ids 批量操作的ID
	 * @author liy
	 * @datetime 2014年12月26日,上午2:12:28
	 */
	public void updateCenterRecordCancel(String ids);
	
	/**
	 * @desc 批量取消组录音公开
	 * @param ids 
	 * @author liy
	 * @datetime 2014年12月26日,上午2:42:03
	 */
	public void updateGroupRecordCancel(String ids);
	
	/**
	 * @desc 分页查询 电话录音
	 * @param recording
	 * @param map 分页参数
	 * @return Page 分页工具类
	 * @author yangzj
	 * @datetime 2014年10月14日,下午8:12:37
	 */
	public Page findRecordingByPage(MedicalAdmin admin, MedicalCallRecording recording, Map<String, Object> map);
	
	/**
	 * @desc 分页查询中心电话录音
	 * @param recording
	 * @param map 分页参数
	 * @return Page 分页工具类
	 * @author yangzj
	 * @datetime 2014年10月15日,下午10:19:49
	 */
	public Page findCenterRecordingByPage(MedicalAdmin admin, MedicalCallRecording recording, Map<String, Object> map);
	
	/**
	 * @desc 分页查询本组电话录音
	 * @param recording
	 * @param map 分页参数
	 * @return Page 分页工具类
	 * @author yangzj
	 * @datetime 2014年10月15日,下午10:25:30
	 */
	public Page findGroupRecordingByPage(MedicalAdmin admin, MedicalCallRecording recording, Map<String, Object> map);
	
	/**
	 * @desc 分页查询我的电话录音
	 * @param recording
	 * @param map 分页参数
	 * @return Page 分页工具类
	 * @author yangzj
	 * @datetime 2014年10月15日,下午10:26:07
	 */
	public Page findMyRecordingByPage(MedicalAdmin admin, MedicalCallRecording recording, Map<String, Object> map);
	
	/**
	 * @desc 导出全部录音
	 * @param id
	 * @return Workbook
	 * @throws IOException
	 * @author yangzj
	 * @datetime 2014年10月15日,下午2:34:59
	 */
	public Workbook exportRecording(MedicalAdmin admin,MedicalCallRecording recording) throws Exception;
	
	/**
	 * @desc 导出当前页电话录音
	 * @param ids
	 * @return Workbook
	 * @throws IOException
	 * @author yangzj
	 * @datetime 2014年10月15日,下午8:52:37
	 */
	public Workbook currentExportRecording(MedicalAdmin admin, String ids)throws Exception;
	
	/**
	 * @desc 导出中心录音
	 * @param id
	 * @return Workbook
	 * @throws IOException
	 * @author yangzj
	 * @datetime 2014年10月15日,下午2:34:59
	 */
	public Workbook exportCenterRecording(MedicalAdmin admin,MedicalCallRecording recording) throws Exception;
	
	/**
	 * @desc 导出当前页中心录音
	 * @param ids
	 * @return Workbook
	 * @throws IOException
	 * @author yangzj
	 * @datetime 2014年10月15日,下午8:52:37
	 */
	public Workbook currentExportCenterRecording(MedicalAdmin admin, String ids)throws Exception;
	
	/**
	 * @desc 导出本组录音
	 * @param id
	 * @return Workbook
	 * @throws IOException
	 * @author yangzj
	 * @datetime 2014年10月15日,下午2:34:59
	 */
	public Workbook exportGroupRecording(MedicalAdmin admin,MedicalCallRecording recording) throws Exception;
	
	/**
	 * @desc 导出当前页本组录音
	 * @param ids
	 * @return Workbook
	 * @throws IOException
	 * @author yangzj
	 * @datetime 2014年10月15日,下午8:52:37
	 */
	public Workbook currentExportGroupRecording(MedicalAdmin admin, String ids)throws Exception;
	
	/**
	 * @desc 导出我的录音
	 * @param id
	 * @return Workbook
	 * @throws IOException
	 * @author yangzj
	 * @datetime 2014年10月15日,下午2:34:59
	 */
	public Workbook exportUserRecording(MedicalAdmin admin,MedicalCallRecording recording) throws Exception;
	
	/**
	 * @desc 导出当前页我的录音
	 * @param ids
	 * @return Workbook
	 * @throws IOException
	 * @author yangzj
	 * @datetime 2014年10月15日,下午8:52:37
	 */
	public Workbook currentExportUserRecording(MedicalAdmin admin, String ids)throws Exception;
	
	/**
	 * @desc 分页查询公开电话录音
	 * @param recording
	 * @param map 分页参数
	 * @return Page 分页工具类
	 * @author yangzj
	 * @datetime 2014年10月15日,下午10:26:07
	 */
	public Page findOpenRecordingByPage(MedicalAdmin admin, MedicalCallRecording recording, Map<String, Object> map);
	
	/**
	 * @desc 导出公开录音
	 * @param id
	 * @return Workbook
	 * @throws IOException
	 * @author yangzj
	 * @datetime 2014年10月15日,下午2:34:59
	 */
	public Workbook exportOpenRecording(MedicalAdmin admin,MedicalCallRecording recording) throws Exception;
	
	/**
	 * @desc 导出当前页公开录音
	 * @param ids
	 * @return Workbook
	 * @throws IOException
	 * @author yangzj
	 * @datetime 2014年10月15日,下午8:52:37
	 */
	public Workbook currentExportOpenRecording(MedicalAdmin admin, String ids)throws Exception;
}
